== Design principles



At https://cadquery.readthedocs.io/en/latest/designprinciples.html there 


=== Begin with the end in mind
The sentence "Begin with the end in mind" is the second habit defined in "The seven habits of highly effective people". This habit should also apply to your 3D modelling. 


Design in CAD vs Blender - Daphne Laméris (see https://www.youtube.com/watch?v=aiq8vePQIeU). 
A vision of blender in automotive design - Odilon Loiez (see https://www.youtube.com/watch?v=tABQPqplco0)
How to Photorealistic Visualize a Motorbike https://www.youtube.com/watch?v=rYGbZXPFmpA

https://www.youtube.com/c/flowwiescorner/videos 



* definition of relations, clear measurements
* lockability
* 2D drawings and export
* manufacturing features
* derive bill of materials
* interaction with analysis software such as structural analysis (Finite Element Methods, FEM). 

Free CAD tools
* Fusion 360
* OnShape
* FreeCAD
* SolidEdge Community Edition
* BricsCAD Shape
* OpenSCAD

Not so expensive
* Moi3D
* Alibre Atom
* Rhino3D

Curves and organic shapes
Manifold models






=== Design intent should drive definition


Many scripting languages do not provide a way to capture design intent– because they require that you always work in global coordinates. CadQuery is different– you can locate features relative to others in a relative way– preserving the design intent just like a human would when creating a drawing or building an object.






CAD models as source code makes sense

- easy to capture design history
- changes are always reversible (non-destructive workflow)
- modelling hierarchy is obvious in the code
- easy to communicate design decisions to others

Import of existing parts should be possible
- standard parts are often available in a library
- interaction with existing CAD tools should be possible



